﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Xml.Linq;
using System.IO;
using DTO;
using DAO;
using BUS;
namespace Cucre
{
    public partial class WebForm5 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }
        protected override void OnPreInit(EventArgs e)
        {
            base.OnPreInit(e);
            string path = Server.MapPath("theme.txt");
            StreamReader SR = new StreamReader(path);
            string nameTheme = SR.ReadLine();
            SR.Close();
            base.OnPreInit(e);
            if (Session["MyTheme"] == null)
            {
                Session.Add("MyTheme", nameTheme);
                Page.Theme = (string)Session["MyTheme"];
            }
            else
            {
                Page.Theme = (string)Session["MyTheme"];
            }
            Session.Add("user_login", null);
            Session.Add("user_style", "0");
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            ACCOUNT account = new ACCOUNT();
            if (user_login.Text.Trim()== null)
            {
                ErrorUsername.Visible = true;
                user_login.BorderColor = System.Drawing.Color.Red;
            }
            else
            {
                if (user_password.Text.Trim()==null)
                {
                    ErrorUsername.Visible = false;
                    user_login.BorderColor = System.Drawing.Color.Black;
                    ErrorPassword.Visible = true;
                    user_password.BorderColor = System.Drawing.Color.Red;
                }
                else
                {
                    ErrorUsername.Visible = false;
                    user_login.BorderColor = System.Drawing.Color.Black;
                    ErrorPassword.Visible = false;
                    user_password.BorderColor = System.Drawing.Color.Black;
                    account = null;
                    try
                    {
                        account = AccountBUS.GetAccount(user_login.Text.Trim(), user_password.Text.Trim());
                    }
                    catch
                    {
                        ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "clientScript", "alert('Tên đăng nhập hoặc mật khẩu không đúng\nVui lòng đăng nhập lại')", true);
                    }
                    if (account!= null)
                    {
                        //-----------------------------------------------------------------------//
                        // PROVIDER: false, MEMBER: true
                        //-----------------------------------------------------------------------//
                        if (account.ACCOUNT_STYLE == true)
                        {
                            MEMBER member = new MEMBER();
                            member = MemberBUS.getMember(account.IDACCOUNT);
                            Session.Add("user_login", member);
                            //-----------------------------------------------------------------------//
                            // ADMIN: 1, MANA: 2 MEMBER: 3
                            //-----------------------------------------------------------------------//
                            Session.Add("user_style", member.MEMBER_STYLE.ToString());
                        }
                        else
                        {
                            PROVIDER provider = new PROVIDER();
                            try
                            {
                                provider = ProviderBUS.GetProviderFromAccount(account.IDACCOUNT);
                            }
                            catch (Exception ex)
                            {
                                ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "clientScript", "alert('Tên đăng nhập hoặc mật khẩu không đúng\nVui lòng đăng nhập lại')", true);
                            }
                            Session.Add("user_login", provider);
                            //-----------------------------------------------------------------------//
                            // PROVIDER: 4
                            //-----------------------------------------------------------------------//
                            Session.Add("user_style", "4");
                        }
                        ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "clientScript", "alert('Bạn đã đăng nhập thành công');window.location.href='index.aspx'", true);
                    }
                    else
                    {
                        ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "clientScript", "alert('Tên đăng nhập hoặc mật khẩu không đúng\nVui lòng đăng nhập lại')", true);
                        Label1.Text = "<font style='color:red'>Tài khoản hoặc mật khẩu không tồn tại</font>";
                    }
                }
            }
        }
    }
}
